// 管理员路由

const express = require('express');
// 引入连接池模块
const pool = require('../pool');
// 创建路由器对象
const router = express.Router();

// 添加查询所有管理员列表接口
// 接口地址：http://127.0.0.1:5000
// 请求方法：get
router.get('/list', (req, res, next) => {
    // 执行SQL命令，查询新闻分类
    pool.query('select * from admin ', (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '管理员列表', data: r })
    })
})
// 通过姓名模糊查询
router.get('/name', (req, res, next) => {
    var obj = req.query
    // console.log(obj, "12")
    pool.query('select * from admin where uname like ?', [`%${obj.uname}%`], (err, r) => {
        if (err) {
            return next(err)
        }
        res.send({ code: 200, msg: '管理员信息', data: r })
    })
})
// 通过id查询管理员信息
router.get('/id', (req, res, next) => {
    var obj = req.query
    pool.query('select * from admin where mid=?', [obj.mid], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '管理员信息', data: r })
    })
})


// 通过id修改管理员信息的接口
router.post('/update', (req, res, next) => {
    var obj = req.body
    let { mid, aid, uname, phone, pwd, email, nickname } = obj
    console.log(obj)
    pool.query('update admin set aid=?, uname=?, phone=?, pwd=?, email=?, nickname=? where mid=?', [aid, uname, phone, pwd, email, nickname, mid], (err, r) => {
        if (err) {
            return next(err)
        }
        // 成功的结果是对象，如果对象下的changedRows值为00说明修改失败，否则修改成功
        if (r.changedRows === 0) {
            console.log('修改失败')
            res.send({ code: 201, msg: '修改失败' })
        } else {
            console.log('修改成功')
            res.send({ code: 200, msg: '修改成功' })
        }
    })
})

// 通过id删除管理员的接口
router.post('/delete', (req, res, next) => {
    var obj = req.body
    pool.query('delete from admin where mid=?', [obj.mid], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        // 删除成功的结果是对象，如果对象下的affectedRows属性值为0，说明删除失败，否则删除失败
        if (r.affectedRows === 0) {
            console.log('删除失败')
            res.send({ code: 201, msg: '删除失败' })
        } else {
            console.log('删除成功')
            res.send({ code: 200, msg: '删除成功' })
        }
    })
})

// 新增管理员接口
router.post('/add', (req, res, next) => {
    var obj = req.body
    let { mid, aid, uname, phone, pwd, email, nickname } = obj
    pool.query('insert into admin values(null,?,?,?,?,?,?)', [aid, uname, phone, pwd, email, nickname], (err, r) => {
        if (err) {
            return next(err)
        }
        console.log(r)
        res.send({ code: 200, msg: '新增管理员', data: r })
    })
})
// 暴露路由器对象
module.exports = router;